home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / irc_i_dodatki / kuang / kuangeleven28.lha / Rexx / Kuang11GUI.amirx < prev    next >
Text File  |  1997-04-01  |  23KB  |  2 lines

  1. /* Kuang Eleven GUI / Ariel Magnum */
  2. options results;signal on halt;if ~show('P','KUANG') then;do;pragma(S,20000);address command 'run <>NIL: sys:rexxc/muirexx rexx/kuang11gui.amirx port KUANG HELP Kuang_Eleven.guide';exit;end;address KUANG;call init();Selected=0x8042654b;Slider_Level=0x8042ae3a;Slider_Max=0x8042d78a;Slider_Min=0x8042e404;MUIV_List_Insert_Bottom=-3;Application_AboutMUI=0x8042d21d;Application_OpenConfigWindow=0x804299ba;Menuitem_Title=0x804218be;Menuitem_Shortcut=0x80422030;MUIA_Cycle_Active=0x80421788;MUIA_List_Active=0x8042391c;List_GetEntry_Active=-1;MUIA_List_AutoVisible=0x8042a445;MUIA_List_AdjustHeight=0x8042850d;MUIA_List_Format=0x80423c0a;TRUE=1;MUIA_Window_Activate=0x80428d2f;MUIA_Window_PublicScreen=0x804278e4;MUIA_Application_HelpFile=0x804293f4;window ID KWIN ATTRS MUIA_Window_Activate 0 MUIA_Window_PublicScreen screen TITLE '"Kuang Eleven v2"' COMMAND 'endprog()' PORT KUANGPORT;menu LABEL '"Project"';item COMMAND '"method 'Application_AboutMUI' 0"' PORT KUANG LABEL '"About MUI"';item COMMAND '"method 'Application_OpenConfigWindow'"' PORT KUANG LABEL '"MUI Settings"';item COMMAND 'endprog()' PORT KUANGPORT ATTRS Menuitem_Shortcut 'Q' LABEL '"Quit"';endmenu;group REGISTER LABELS 'Channel,Flood,Misc,CTCP,Friends,Plugins,Manager';group REGISTER LABELS '"Protection,Lists"';group;group horiz;group horiz frame label 'Master';label SINGLE 'Channel Protection:';check ID PROT PORT KUANGPORT conv('prot') COMMAND 'setc("prot",%s)' HELP '"Master toggle for channel protection."';endgroup;group frame horiz label '"Misc"';label SINGLE 'NetHack:';check ID NHP conv('nhp') COMMAND 'setc("nhp",%s)' PORT KUANGPORT HELP '"NetHack Protection.\nNon o flag Friends Split Riders Deopped."';label SINGLE 'ScrewBan:';check ID SBAN conv('sban') COMMAND 'setc("sban",%s)' PORT KUANGPORT HELP '"Remove all ScrewBans."';endgroup;endgroup;group FRAME HORIZ Label '"MassModes Protection"';group;label SINGLE 'MassDeop:';label SINGLE 'MassOp:';endgroup;group;check ID MDEOP conv('mdeop') COMMAND 'setc("mdeop",%s)' PORT KUANGPORT HELP '"Protect from MassDeop."';check ID MOP conv('mop') COMMAND 'setc("mop",%s)' PORT KUANGPORT HELP '"Protect from MassOp."';endgroup;group;label SINGLE 'MassBan:';label SINGLE 'MassUnBan:';endgroup;group;check ID MBAN conv('mban') COMMAND 'setc("mban",%s)' PORT KUANGPORT HELP '"Protect from MassBan."';check ID MUBAN conv('muban') COMMAND 'setc("muban",%s)' PORT KUANGPORT HELP '"Protect from MassUnBan."';endgroup;label SINGLE 'Sensor:';slider ID MAXM ATTRS Slider_Min 3 Slider_Max 10 Slider_Level getclip('sc_sensormode') COMMAND 'setclip("sc_sensormode",%s)' PORT KUANGPORT HELP '"Number of modes to trigger MassModes protection.\nSee also flood reset delay."';endgroup;group horiz frame label 'MassKick';group HORIZ;label SINGLE 'Protect:';check ID MKICK conv('mkick') COMMAND 'setc("mkick",%s)' PORT KUANGPORT HELP '"Protect from MassKick."';endgroup;label SINGLE 'Sensor:';slider ID MXKCK ATTRS Slider_Min 3 Slider_Max 10 Slider_Level getclip('sc_sensorkick') COMMAND 'setclip("sc_sensorkick",%s)' PORT KUANGPORT HELP '"Number of kicks to trigger MassKick protection.\nSee also flood reset delay."';endgroup;group horiz frame label 'MassJoin';group HORIZ;label SINGLE 'Protect:';check ID MJOIN conv('mjoin') COMMAND 'setc("mjoin",%s)' PORT KUANGPORT HELP '"Protect from MassJoin."';endgroup;label SINGLE 'Sensor:';slider ID MJONS ATTRS Slider_Min 2 Slider_Max 10 Slider_Level getclip('sc_sensorjoin') COMMAND 'setclip("sc_sensorjoin",%s)' PORT KUANGPORT HELP '"Number of joins to trigger MassJoin protection.\nSee also flood reset delay."';endgroup;endgroup;group;group FRAME LAbel 'AutoChannels';list id ACLST HELP '"Channels in which Kuang works.\nTo Enable all channels enter ALL and Remove all other entries."';group HORIZ;label SINGLE 'Add:';string COMMAND 'addlist(ACLST,"%s","autochannels")' PORT KUANGPORT HELP '"Enter a Channel to add.\nALL for all channels."';button COMMAND 'dellist(ACLST,"autochannels")' PORT KUANGPORT HELP '"Remove the entry selected in the list."' LABEL 'Remove';endgroup;endgroup;group FRAME LAbel '"Bitch"';group horiz;label SINGLE 'Bitch mode:';cycle ID BITCH cyconv("deop") LABELS 'Off,On,Friends' COMMAND 'setc("deop",%s)' PORT KUANGPORT HELP '"Toggle Bitch Mode:\nOn - Only you can give Ops.\nFriends - Only your o flagged friends can give Ops."';endgroup;list id BCLST HELP '"Channels in which bitch mode works.\nTo Enable all channels enter ALL and Remove all other entries."';group HORIZ;label SINGLE 'Add:';string COMMAND 'addlist(BCLST,"%s","deopc")' PORT KUANGPORT HELP '"Enter a Channel to add.\nALL for all channels."';button COMMAND 'dellist(BCLST,"deopc")' PORT KUANGPORT HELP '"Remove the entry selected in the list."' LABEL 'Remove';endgroup;endgroup;endgroup;endgroup;group;group horiz;group FRAME LABEL 'Master';group horiz;label SINGLE 'Flood Protection:';check ID FPROT PORT KUANGPORT conv('floodp') COMMAND 'setc("floodp",%s)' HELP '"Master toggle for Flood Protection"';endgroup;space;space;endgroup;group HORIZ FRAME LABEL 'Replys';label DOUBLE 'Flood Reply:';string ID FMSG COMMAND 'setclip("sc_floodmsg","%s")' PORT KUANGPORT HELP '"This text will be replied to Flooders"' CONTENT getclip('sc_floodmsg');endgroup;endgroup;group HORIZ FRAME LABEL 'Sensors';group;label DOUBLE CENTER 'Reset Delay:';label DOUBLE CENTER 'Message:';label DOUBLE CENTER 'Notice:';label DOUBLE CENTER 'Invite:';label DOUBLE CENTER 'CTCP:';label DOUBLE CENTER 'DCC:';endgroup;group;slider ID RESET ATTRS Slider_Min 1 Slider_Max 10 Slider_Level getclip('sc_resetcount') COMMAND 'setclip("sc_resetcount",%s)' PORT KUANGPORT HELP '"Interval between floods in seconds."';slider ID SPRIV ATTRS Slider_Min 1 Slider_Max 20 Slider_Level getclip('sc_sensorprivmsg') COMMAND 'setclip("sc_sensorprivmsg",%s)' PORT KUANGPORT HELP '"The number of messages that causes ignore.\nOnly LONG messages are considered!"';slider ID SNOTC ATTRS Slider_Min 1 Slider_Max 20 Slider_Level getclip('sc_sensornotice') COMMAND 'setclip("sc_sensornotice",%s)' PORT KUANGPORT HELP '"The number of notices that causes ignore.\nOnly LONG notices are considered!"';slider ID SINVT ATTRS Slider_Min 1 Slider_Max 20 Slider_Level getclip('sc_sensorinvite') COMMAND 'setclip("sc_sensorinvite",%s)' PORT KUANGPORT HELP '"The number of invites that causes ignore."';slider ID SCTCP ATTRS Slider_Min 1 Slider_Max 10 Slider_Level getclip('sc_sensorctcp') COMMAND 'setclip("sc_sensorctcp",%s)' PORT KUANGPORT HELP '"The number of CTCPs that causes ignore."';slider ID SDCC ATTRS Slider_Min 1 Slider_Max 20 Slider_Level getclip('sc_sensordcc') COMMAND 'setclip("sc_sensordcc",%s)' PORT KUANGPORT HELP '"The number of DCCs that causes ignore."';endgroup;endgroup;group HORIZ FRAME LABEL 'Ignore';label DOUBLE 'Ignore TimeOut:';slider ID IGCNT ATTRS Slider_Min 1 Slider_Max 10 Slider_Level getclip('sc_ig_count') COMMAND 'setclip("sc_ig_count",%s)' PORT KUANGPORT HELP '"Time to ignore flooder in minuets."';endgroup;endgroup;group;group HORIZ FRAME LABEL "AutoModes";label SINGLE 'AutoGet DCC:';cycle ID DCC cyconv("autoget") LABELS "Off,All,Friends,AllFriends" COMMAND 'setc("autoget",%s)' PORT KUANGPORT HELP '"DCC Autoget function:\nAll - Accept from all (Not reccomended).\nFriends - Accept from friends with a flag.\nAllFriends - Accept from all friends in the userlist."';space horiz;label SINGLE 'AutoJoin:';cycle ID AJOIN cyconv("autojoin") LABELS "Off,All,Friends" COMMAND 'setc("autojoin",%s)' PORT KUANGPORT HELP '"AutoJoin on invite function:\nAll - Accept from all (Not reccomended)\nFriends - Accept from friends with i flag."';endgroup;group HORIZ FRAME LABEL "Sound";Label SINGLE 'AutoSend:';check ID ASND conv('asound') COMMAND '"SAY /KC ASND"' PORT value(amirc) HELP '"AutoSend sounds."';space horiz;Label SINGLE 'AutoMove:';check ID AMSND conv('amsound') COMMAND 'setc("amsound",%s)' PORT KUANGPORT HELP '"Auto Move #?.WAV and #?.SND to AmIRC sounddir."';space horiz;Label SINGLE 'Play Events:';check ID PLSND conv('playsounds') COMMAND 'setc("playsounds",%s)' PORT KUANGPORT HELP '"Play sounds on K¹¹ Events."';endgroup;group FRAME LABEL "Away";group horiz;label SINGLE 'Log:';check ID LOG conv('log') COMMAND 'setc("log",%s)' PORT KUANGPORT HELP '"Log Messages."';space horiz;label SINGLE 'Hilite Log:';check ID HLOG conv('hlog') COMMAND 'setc("hlog",%s)' PORT KUANGPORT HELP '"Log Hilites.\nIt is usefull to add your nick as a hilite\nentry and thus Kuang will log every message which\n mentions your name."';space horiz;label SINGLE 'DCC Chat Log:';check ID DCLOG conv('dcclog') COMMAND 'setc("dcclog",%s)' PORT KUANGPORT HELP '"Log Messages recived in a DCC Chat."';endgroup;group horiz;label SINGLE 'Away Msgs:';cycle ID AWTXT cyconv('awaytxt') LABELS "Off,Text,Sound,Both" COMMAND 'setc("awaytxt",%s)' PORT KUANGPORT HELP '"Display away messages to all channels\nText - Status of log,pager and away reason.\nSound - Will play Away.wav and Back.wav."';space horiz;label SINGLE 'Verbose:';check ID AWVRB conv('awayverb') COMMAND 'setc("awayverb",%s)' PORT KUANGPORT HELP '"Include Status of Message logger and Pager in the away message."';endgroup;group horiz;label SINGLE 'Auto Iconify:';check ID ICON conv('aicon') COMMAND 'setc("aicon",%s)' PORT KUANGPORT HELP '"Auto Iconify on /Away."';label SINGLE 'Away Nick';string ID AWNCK COMMAND 'setclip("sc_awaynick","%s")' PORT KUANGPORT HELP '"Change to this nick when you are marked away.\nSet to an empty string to disable feature."' CONTENT getclip('sc_awaynick');endgroup;endgroup;group FRAME Label 'KickWords';group HORIZ;group HORIZ;label SINGLE 'KickWords:';check ID SHIT conv('shit') COMMAND '"SAY /KC SHIT"' PORT value(amirc) HELP '"Toggle KickWords function.\nSomeone who says these words will be Kicked."';label SINGLE 'Ban:';check ID BANK conv("bankickwords") COMMAND 'setc("bankickwords",%s)' PORT KUANGPORT HELP '"Toggle Ban on KickWords."';endgroup;label SINGLE 'Sensor';slider ID MAXK ATTRS Slider_Min 1 Slider_Max 10 Slider_Level getclip('sc_maxword') COMMAND 'setclip("sc_maxword",%s)' PORT KUANGPORT HELP '"Ban people who say this number of KickWords."';endgroup;list id KCLST HELP '"List of kickwords."';group HORIZ;label SINGLE 'Add:';string COMMAND 'addlist(KCLST,"%s","swords")' PORT KUANGPORT HELP '"Enter a KickWord to add."';button COMMAND 'dellist(KCLST,"swords")' PORT KUANGPORT HELP '"Remove the entry selected in the list."' LABEL 'Remove';endgroup;endgroup;endgroup;group;group FRAME LABEL '"Extended CTCP"';group horiz;label SINGLE 'Extended:';check ID CTCP conv('ctcpauto') COMMAND 'setc("ctcpauto",%s)' PORT KUANGPORT HELP '"Extended CTCP toggle"';space horiz;label SINGLE 'Pager:';cycle ID PAGER cyconv("page") LABELS 'Off,On,Friends' COMMAND 'setc("page",%s)' PORT KUANGPORT HELP '"Pager function:\nOn - Everyone may page\nFriends - Only friends may page"';endgroup;group horiz;label SINGLE 'Ident:';check ID CTCPI conv('ctcpident') COMMAND 'setc("ctcpident",%s)' PORT KUANGPORT HELP '"Enable CTCP Ident command to allow users on the friends list\nto remotely add hostmasks with password authentication."';label SINGLE 'Password:';string ID PASS COMMAND 'setclip("sc_password","%s")' PORT KUANGPORT HELP '"Password for remote authenitaction with /CTCP IDENT.\nEmpty string disables."' CONTENT getclip('sc_password');endgroup;endgroup;group horiz frame Label XDCC;group horiz;label SINGLE 'XDCC:';check ID XDCC conv('xdcc') COMMAND 'setc("xdcc",%s)' PORT KUANGPORT HELP '"Toggle XDCC."';endgroup;space bar;group;group horiz;label SINGLE 'Sec:';cycle ID XDCCS cyconv("xdccsec") LABELS "Off,All,Packs,Ops" COMMAND 'setc("xdccsec",%s)' PORT KUANGPORT HELP '"XDCC Security :\nAll - All Packs require user to have x flag.\nPacks - Security is packs dependant ie each pack has its security setting.\nOps - Secured packs require ops."';label SINGLE 'Style:';cycle ID XSTYL cyconv("xdccstyle") LABELS "Short,Long" COMMAND 'setc("xdccstyle",%s)' PORT KUANGPORT HELP '"XDCC Style :\nShort : Venom Style.\nLong : Long style,not suitable for many packs."';endgroup;group horiz;label SINGLE 'ANSI:';check ID XDBLD conv("xdccbold") COMMAND 'setc("xdccbold",%s)' PORT KUANGPORT HELP '"Display Bold/Underline styles."';label SINGLE 'Rates:';check ID XDCCR conv("xdccrates") COMMAND 'setc("xdccrates",%s)' PORT KUANGPORT HELP '"Display XDCC Rates."';label SINGLE 'Kick:';check ID XDCCK conv('xdcckick') COMMAND 'setc("xdcckick",%s)' PORT KUANGPORT HELP '"Toggle XDCC Kick on unregistered requests."';label SINGLE 'Mass Kick:';check ID XDCCM conv('xdcc_masskick') COMMAND 'setc("xdcc_masskick",%s)' PORT KUANGPORT HELP '"Toggle Mass XDCC Kick.\nKicks people who XDCC LIST the whole channel."';endgroup;group horiz;label SINGLE 'Slots:';slider ID XDCCT ATTRS Slider_Min 1 Slider_Max 30 Slider_Level getclip('sc_xdccslots') COMMAND 'setclip("sc_xdccslots",%s)' PORT KUANGPORT HELP '"Number of Slots."';endgroup;endgroup;endgroup;endgroup;group;group HORIZ FRAME Label 'AutoOp';label SINGLE 'AutoOp:';check ID AUTOP conv('autop') COMMAND 'setc("autop",%s)' PORT KUANGPORT HELP '"AutoOp friends with o flag on join/deop."';label CENTER 'Delay:';slider ID OPDEL ATTRS Slider_Min 0 Slider_Max 15 Slider_Level getclip('sc_autopdel') COMMAND 'setclip("sc_autopdel",%s)' PORT KUANGPORT HELP '"The delay when autopping a user that joins the channel.\nEnter 0 to disable this and give ops immidiatly."';label SINGLE 'Random delayed:';check ID RNDEL conv('randel') COMMAND 'setc("randel",%s)' PORT KUANGPORT HELP '"Computes a random delay for AutoOps\nfrom the op delay."';endgroup;group HORIZ FRAME LABEL 'Protection';label DOUBLE 'Friends Protection:';check ID FRPRT conv('fprot') COMMAND 'setc("fprot",%s)' PORT KUANGPORT HELP '"Protect friends from deop/ban/kick(see Revenge)."';space horiz;label DOUBLE 'Self-Protection:';check ID SAVEB conv('saveban') COMMAND 'setc("saveban",%s)' PORT KUANGPORT HELP '"Enabled : Ban on you will be cause quick deop/ban/kick on the lamer.\nDisabled - Bans on you removed."';endgroup;group FRAME LABEL "Revenge";group HORIZ;space horiz;label SINGLE 'Revenge on:';cycle ID RVG cyconv("rvg") LABELS "Off,On,UnProtected" COMMAND 'setc("rvg",%s)' PORT KUANGPORT HELP '"Revenge kicks people who hurt friends with p flag:\nOn - Kick Everyone.\nNon-Protected - Kick only people without p flag."';space horiz;endgroup;group HORIZ;label SINGLE 'Deop:';check ID RVGD conv('rvgd') COMMAND 'setc("rvgd",%s)' PORT KUANGPORT HELP '"Toggles Deopping when revenge is working"';space horiz;label SINGLE 'Ban:';check ID RVGB conv('rvgb') COMMAND 'setc("rvgb",%s)' PORT KUANGPORT HELP '"Toggles Banning when revenge is working"';space horiz;label SINGLE 'Kick:';check ID RVGK conv('rvgk') COMMAND 'setc("rvgk",%s)' PORT KUANGPORT HELP '"Toggles Kicking when revenge is working"';endgroup;group HORIZ;label SINGLE 'Kick String:';string ID PKCK COMMAND 'setclip("sc_pkickmsg","%s")' PORT KUANGPORT HELP '"Kick Reason When protecting friends.\n%N will be replaced with the users nick."' CONTENT getclip('sc_pkickmsg');endgroup;endgroup;group HORIZ FRAME LABEL '"Channel Commands"';label SINGLE 'Command Prefix:';string ID COMP COMMAND '"SAY /KC COMP %s"' PORT value(amirc) HELP '"The command prefix for remote channel commands"' CONTENT getclip('sc_comprefix');endgroup;endgroup;group;group FRAME Label '"CTCP"';list id EXLST TITLE '"\033bCommand,\033bScript"' ATTRS MUIA_List_Format '"MIW=25 P=\033c BAR,MIW=50 P=\033c"' HELP '"List of CTCP commands that will launch external script."';group HORIZ;label SINGLE 'Command:';string ID EXCMD HELP '"Enter a CTCP command."';label SINGLE 'Script:';poplist ID EXSCR COMMAND 'setfile("%s",EXSCR,"Rexx/CTCP")' PORT KUANGPORT LABELS getdir('Rexx/CTCP') HELP '"Enter a script.\n.amirx suffix is not required.\nScript must be in the amirc rexx directory."';endgroup;group HORIZ;button COMMAND 'insext(EXLST,string,EXCMD,poplist,EXSCR,"extrctcp","extrscr","Rexx/CTCP")' PORT KUANGPORT HELP '"Add the entry to list of plugins."' LABEL 'Add';button COMMAND 'delext(EXLST,"extrctcp","extrscr")' PORT KUANGPORT HELP '"Delete the entry from list of plugins."' LABEL 'Delete';endgroup;endgroup;group FRAME Label '"Public"';list id PBLST TITLE '"\033bCommand,\033bScript"' ATTRS MUIA_List_Format '"MIW=25 P=\033c BAR,MIW=50 P=\033c"' HELP '"List of public commands that will launch external script."';group HORIZ;label SINGLE 'Command:';string ID PBCMD HELP '"Enter a public command.\nThe command prefix is NOT required."';label SINGLE 'Script:';poplist ID PBSCR COMMAND 'setfile("%s",PBSCR,"Rexx/Pub")' PORT KUANGPORT LABELS getdir('Rexx/Pub') HELP '"Enter a script.\n.amirx suffix is not required.\nScript must be in the amirc rexx/pub directory."';endgroup;group HORIZ;button COMMAND 'insext(PBLST,string,PBCMD,poplist,PBSCR,"pubcmd","pubscr","Rexx/Pub")' PORT KUANGPORT HELP '"Add the entry to list of plugins."' LABEL 'Add';button COMMAND 'delext(PBLST,"pubcmd","pubscr")' PORT KUANGPORT HELP '"Delete the entry from list of plugins."' LABEL 'Delete';endgroup;endgroup;endgroup;group;group FRAME Label '"Download Manager"';list id MNLST TITLE '"\033bPattern,\033bPath"' ATTRS MUIA_List_Format '"MIW=25 P=\033c BAR,MIW=50 P=\033c"' HELP '"List of patterns.\nFiles that match will be moved to corresponding path."';group HORIZ;label SINGLE 'Pattern:';poplist ID MNPAT LABELS '#?.lha,#?.lzx,#?.zip,#?.(lha|lzx|zip)' HELP '"Enter a pattern."';label SINGLE 'Path:';popasl ID MNDIR COMMAND 'isdir("%s",MNDIR)' PORT KUANGPORT HELP '"Enter a direcotory."';endgroup;group HORIZ;button COMMAND 'insext(MNLST,poplist,MNPAT,popasl,MNDIR,"manpatr","manpath","")' PORT KUANGPORT HELP '"Add the entry to list."' LABEL 'Add';button COMMAND 'delext(MNLST,"manpatr","manpath")' PORT KUANGPORT HELP '"Delete the entry from list."' LABEL 'Delete';endgroup;endgroup;endgroup;endgroup;group HORIZ;button ID SAVE COMMAND '"SAY /SAVE"' PORT amirc '"Save configuration to disk then exit."' LABEL 'Save';space;button ID CANCL COMMAND 'load()' PORT KUANGPORT HELP '"Reload configuration from disk then exit."' LABEL 'Reload';endgroup;endwindow;fillist('swords',KCLST);fillist('autochannels',ACLST);fillist('deopc',BCLST);fillelist('EXLST','extrctcp','extrscr');fillelist('PBLST','pubcmd','pubscr');fillelist('MNLST','manpatr','manpath');address REXX;myport='KUANGPORT';oport=openport(myport);do forever;do until waitpkt(myport);call delay(20);end;packet=getpkt(myport);if packet ~=null() then;do;cmd=getarg(Packet);call reply(Packet,0);say cmd;interpret cmd;end;end;exit;insext:;idl=arg(1);idc=arg(2) 'ID' arg(3);ids=arg(4) 'ID' arg(5);ccmd='sc_'arg(6);cscr='sc_'arg(7);address KUANG idc;cmd=upper(result);address KUANG ids;cpat=result;if arg(8)~='' then setfile(cpat,ids,arg(8));else isdir(cpat,arg(5));address KUANG ids;scr=strip(result,'B','" ');if cmd=''|scr='' then return 0;x=getclip(ccmd);if x='' then address KUANG list ID idl POS MUIV_List_Insert_Bottom STRING;address KUANG list ID idl INSERT POS MUIV_List_Insert_Bottom STRING cmd','scr;address KUANG idc CONTENT;address KUANG ids CONTENT;if words(scr)>1 then scr='"'scr'"';setclip(ccmd,strip(x cmd));setclip(cscr,strip(getclip(cscr) scr));return 0;isdir:;if arg(1)='' then return 0;poppath=absolutepath(arg(1));Select;when ~exists(arg(1)) then poppath='';when word(stateF(poppath),1)='FILE' then poppath=pathpart(poppath);otherwise;end;address KUANG popasl ID arg(2) CONTENT poppath;return 0;delext:;ids=arg(1);ccmd='sc_'arg(2);cscr='sc_'arg(3);address KUANG list ID ids;str=result;if str='empty'|str='' then return 0;parse var str cmd ',' scr;scr=strip(scr);if words(scr)>1 then scr='"'scr'"';address KUANG list ID ids POS List_GetEntry_Active STRING;z=getclip(cscr);setclip(cscr,strip(delstr(z,pos(scr,z),length(scr)+1)));z=getclip(ccmd);setclip(ccmd,strip(delword(z,find(z,cmd),1)));if z='' then address KUANG list ID ids STRING 'empty';return 0;fillelist:;cmd=getclip('sc_'arg(2));scr=getclip('sc_'arg(3));ids=arg(1);if cmd=''|scr='' then;do;LIST ID ids INSERT POS MUIV_List_Insert_Bottom STRING "empty";setclip('sc_'arg(2));setclip('sc_'arg(3));return 0;end;col1.='';col2.='';readargs(cmd,'COL1/M');readargs(scr,'COL2/M');if col1.count~=col2.count then;do;LIST ID ids INSERT POS MUIV_List_Insert_Bottom STRING "empty";setclip('sc_'arg(2));setclip('sc_'arg(3));say ids;request TITLE '"Kgui Error"' GADGETS OK '"Corrupt config found"';return 0;end;do i=0 to col1.count;if col1.i=''|col2.i='' then iterate;LIST ID ids INSERT POS MUIV_List_Insert_Bottom STRING col1.i','col2.i;end;return 0;setfile:PROCEDURE;dir=strip(arg(1));udir=upper(dir);path=arg(3)'/';if (~exists(path||dir)&~exists(path||dir'.amirx'))|pos('KUANG11',udir)~=0 then;do;address KUANG arg(2) CONTENT;return 0;end;return 0;fillist:;x=getclip('sc_'arg(1));if x='' then x='empty';ids=arg(2);do until x='';parse var x w x;LIST ID ids INSERT POS MUIV_List_Insert_Bottom STRING w;end;return 1;dellist:;ids=arg(1);address KUANG list ID ids;str=result;if str='empty'|str='' then return 0;address KUANG list ID ids POS List_GetEntry_Active STRING;x='sc_'arg(2);z=strip(getclip(x));z=delword(z,find(z,str),1);if z='' then address KUANG list ID ids INSERT POS 0 STRING 'empty';if ids='KCLST' then;do;address value(amirc);'SAY /KC DELK' str;address REXX;end;else setclip(x,z);return 0;addlist:;y=upper(arg(2));if y='' then return 0;ids=arg(1);x='sc_'arg(3);z=getclip(x);if z='ALL' then;do;address KUANG list ID ids POS 0 STRING;z='';end;else if z='' then address KUANG list ID ids POS MUIV_List_Insert_Bottom STRING;address KUANG list ID ids INSERT POS MUIV_List_Insert_Bottom STRING y;z=strip(z y);if ids='KCLST' then;do;address value(amirc);'SAY /KC ADDK' y;address REXX;end;else setclip(x,z);return 0;setc:PROCEDURE;x=upper(arg(2));select;when x='1' then x='ON';when x='0' then x='OFF';when x='UNPROTECTED' then x='NONP';otherwise;end;setclip('sc_'arg(1),x);return 0;conv:;x=getclip('sc_'arg(1));if x='ON' then return 'ATTRS' Selected 1;return 'ATTRS' Selected 0;cyconv:;x=getclip('sc_'arg(1));Select;when x=''|x='OFF' then x=0;when x='ON' then x=1;when x='ALL' then x=1;when x='FRIENDS' then x=2;when x='ALLFRIENDS' then x=3;when x='NONP' then x=2;when x='PACKS' then x=2;when x='OPS' then x=3;when x='SHORT' then x=0;when x='LONG' then x=1;when x='TEXT' then x=1;when x='SOUND' then x=2;when x='BOTH' then x=3;otherwise;end;return 'ATTRS' MUIA_Cycle_Active x;error:;syntax:;endprog("Command on line" SIGL "returned" RC ":" errortext(rc) sourceline(SIGL));halt:;endprog:;if show('P','KUANGPORT') then call closeport('KUANGPORT');address KUANG;x=arg(1);if x~='' then request TITLE '"Kgui Error"' GADGETS OK x;quit;exit;load:;address value(amirc);'SAY /load';address REXX;endprog();getamirc:PROCEDURE EXPOSE screen;l=show('P');p=pos('AMIRC.',l);if p=0 then endprog("AmIRC not active!");w=substr(l,p,7);x=address();address value(w);"SHOW";"INFO screen";screen='"'result'"';address value(x);return w;init:;if show('P','KUANGPORT') then endprog("Already active!");if ~show('L','rexxsupport.library') then if ~addlib('rexxsupport.library',0,-30,0) then endprog("Cannot load rexxsupport.library!");if getclip('st_init')~=1 then endprog("Kuang Eleven not initliaised!");amirc=getamirc();return 0;getdir:;l=showdir(arg(1),'F');el='';do until l='';parse var l file l;if upper(right(file,6))='.AMIRX' then el=el','file;end;return strip(el,'L',',')